清华大学出版社 您所在的位置:网站首页 面向对象编程导论 pdf 清华大学出版社

清华大学出版社

2024-07-12 14:02| 来源: 网络整理| 查看: 265

本书以基础理论和编程实践相结合的方式,图文并茂地介绍设计程序所需的数学知识、计算机基础知识和计算机语言基本知识,从计算和数据角度系统地介绍了设计程序的基本原理、基本方法和典型编程模式,并使用C/C++语言实现设计的程序。全书分为两部分,共10章。第一部分为基础篇,包括概述、表达式和数据类型、构造分支、构造循环、函数等知识;第二部分为应用篇,包括程序组织、数组、指针和引用、结构、底层编程等知识。书中的每个知识点都从数学引入,有相应的数学推导、编程步骤、实现代码和编程要点。   本书适合作为全国高等院校计算机及相关专业的程序设计课程的教材,也可供从事软件开发的专业人员自学使用。

more >

前 言 在软件无处不在的时代,程序设计课程的重要性毋庸置疑。本书先通过数学带领读者学习计算和描述计算的表达方式,然后讲解如何使用计算机语言编程。 编程具有较强的科学性和系统性,本书强调使用数学模型解决问题,针对我国学生数学基础好但计算思维薄弱的特点,从四则运算、函数和数学归纳法等初等数学内容入手学习计算方法和表达方式,并融入计算理论、程序理论和计算机系统等基本原理,从计算和数据两条主线,由浅入深地讨论编程的基本知识、基本原理和基本方法,旨在培养能够运用数学知识编程的优秀人才。本书的主要范围如图0.1所示。 图0.1 本书的主要范围 编程也是工程性工作,主要涉及详细设计、编码实现两个阶段的工作。详细设计阶段的主要工作是抽象数据和设计计算流程。本书使用流程图、计算顺序图、运算序列图以及内存图等图形语言作为描述数据和计算流程的工具,介绍数学模型中数的表示方法和计算流程,在冯•诺依曼机上详细讨论数据存储方式和运算的实现原理,着重介绍运用数及运算、数学公式(函数)等数学知识设计程序流程、定义数据的方法。 编码实现阶段的主要工作是使用计算机语言描述设计的数据和计算流程,并调试通过。计算机语言的表达方法主要来源于数学和自然语言,本书选用C/C++语言作为编程语言工具,介绍计算机语言的知识,分层次详细介绍编写代码的步骤和方法,着重介绍怎样运用数学和自然语言的知识描述程序的数据和计算流程。 调试程序是编码实现阶段的重要工作,其工作量在编程中的占比非常高。本书选用Visual Studio作为集成开发平台,针对表达式、分支、循环、函数和程序模块详细介绍调试程序的步骤和方法。 本书主要内容 全书分为基础篇和应用篇两部分,共10章。 第一部分为基础篇,包括第1~5章,按照计算机语言的层次关系采用自底向上的方式组织内容,主要从计算角度介绍编程的基本知识和基本方法。 第1章为概述。介绍了计算机、计算机语言和程序等基本概念,举例说明了编译和连接的功能和作用,以及调试程序的一般步骤,让读者对编程有一个基本的了解。 第2章为表达式和数据类型。从数和四则运算引入表达式和数据类型的概念,主要讨论了基本运算在冯•诺依曼机上的语义和表达式的运算序列,举例说明了计算表达式的步骤和方法,讨论了整型、字符型和实数型等基本数据类型的表示原理和存储格式,介绍了字符流和控制输出格式的方法,并介绍了编写、调试和维护表达式的步骤和方法。 第3章为构造分支。从分段函数引入分支的概念,主要介绍使用流程图描述程序流程的方法,深入讨论了通过分段函数构造分支的方法,讨论了关系表达式、逻辑表达式和条件表达式,举例说明了编写分支程序的4种典型模式,深入讨论了I/O流及其运算,最后介绍了编写、调试和维护分支程序的步骤和方法。 第4章为构造循环。从数学归纳法引入了循环的概念,主要介绍了构造循环的基本知识和基本原理,讨论了在数列上采用递推方式构造循环的一般步骤和基本方法,举例说明了递推公式的推导思路,介绍了while语句、for语句和do…while语句等循环语句及循环的通用流程框架,讨论了使用循环变量模式和嵌套模式编写程序的方法,最后介绍了调试和维护循环程序的步骤和方法。 第5章为函数。从数学函数引入计算机函数的概念,主要介绍了变量和函数的基本知识,介绍了使用“栈”机制管理变量和实现函数调用的原理,讨论了使用“栈”机制分析函数内部执行过程的方法,介绍了定义和调用函数的方法,讨论了描述函数调用关系的方法,举例说明了使用数学递归函数编写计算机递归函数和构造循环的方法,介绍了函数模板以及重载函数技术,最后介绍了调试和维护函数的步骤和基本方法。 第二部分为应用篇,包括第6~10章,按照数据类型或应用场景组织内容,主要从数据角度介绍编程的基本知识和基本方法。 第6章为程序组织。在总结前面内容的基础上,主要介绍了模块化程序设计思想以及相关的基本知识,着重介绍了多文件结构以及使用方法,介绍了预编译技术以及支持多文件结构程序的基本原理和方法,并介绍了在模块层次上调试程序的基本知识。 第7章为数组。介绍了“程序=数据结构+算法”的观点,开始从数据角度介绍编程技术。从数列和矩阵引入数组的概念,介绍了一维数组和二维数组,讨论了其存储结构,举例说明了使用数组管理数据和描述问题的步骤和基本方法。 第8章为指针和引用。从内存的逻辑地址引入指针的概念,主要介绍了指针及其运算,讨论了使用指针访问变量或数组元素的方法,介绍了动态管理堆内存技术,讨论了参数传递的原理,举例说明了各类参数传递的应用场景和编程方法,介绍了字符数组,举例说明了使用字符数组处理字符串的基本方法。介绍了引用及其使用方法,最后讨论了程序安全性。 第9章为结构。从向量引入结构的概念,主要介绍了声明结构、定义结构变量以及相关运算等知识,讨论了结构的存储结构和访问结构成员的方法,介绍了使用结构描述二维表并管理其数据的方法,以及使用结构实现链表的基本方法。 第10章为底层编程。从整数的记数法引入“按位”计算,介绍十进制、二进制。举例说明了自然数和整数的数值计算方法,讨论了使用补码表示整数的原理,介绍了位运算、联合等底层编程知识和技术。举例说明了基本运算的内部实现原理和方法,详细讲解了在实际应用中抽象、定义底层数据及运算的基本原理和编程方法,介绍了一个最简单的R进制计算机,讨论了对其扩展的路径和方法,可作为进一步学习、训练的示例。 最后,提供了ASCII表和运算表两个附录,以方便读者查阅。其中,运算表详细描述了常用运算的语法和语义,以及优先级和结合性,是编程的基础资料。 本书特色 (1)强化数学基础,夯实计算思维,重点讲解计算方法等内容。本书涉及的数学知识主要来源于初等数学内容,并针对我国中学生计算思维薄弱的特点讲解了计算方法的内容,充分利用我国学生数学基础好的优势,降低学习的门槛。 (2)结构化程序设计思想和面向对象程序设计思想有机融合,旨在节约学生的学习时间。按照先有数再有运算的数学思维,以计算和数据并重的观点组织内容,将结构化程序设计思想和面向对象程序设计思想融合,在程序设计方法上形成一个整体。 (3)图文并茂,通俗易懂。通过使用大量的流程图、计算顺序图、运算序列图和内存图等图形语言,全面讲解程序的计算和数据等内容,以便加强对读者软件设计能力的培养。 (4)紧跟国际工程教育思路,注重实践。将计算机语言、计算机系统、开发环境等回归到工具,强调运用这些工具解决实际问题。 配套资源 为便于教与学,本书配有530分钟微课视频、源代码、教学课件、教学大纲、授课计划、习题答案、考试试卷及答案。 (1)获取微课视频方式:读者可以先扫描本书封底的文泉云盘防盗码,再扫描书中相应的视频二维码,观看教学视频。 (2)获取源代码方式:先扫描本书封底的文泉云盘防盗码,再扫描下方二维码,即可获取。 (3)其他配套资源可以扫描本书封底的课件二维码下载。 进一步学习的内容 当读者完成本书的学习时,是否能成为一名编程的专家呢?答案当然是否定的。但在程序设计领域已经有了一个良好的开始,比较好地掌握了编程所需的基本知识和基本原理,并得到了较好的编程训练。能够编写比较简单的程序,能够从计算角度理解复杂的程序,为进一步的学习打下了良好的理论和实践基础。 当读者完成本书的学习后,进一步学习的最好方法是大量阅读程序并开发一个真正能被别人使用的程序。编程开源区、开发环境中都有很多经典的代码,可供读者选择,但在阅读程序时,需要从数据和计算流程两个方面理解。 还可以进一步从更高层次学习抽象数据和计算的方法,学习面向对象的编程知识和技术。面向对象编程的教材很多,最好选择整合了面向对象设计和编程实现内容的教材,面向对象设计的成果一般会使用UML描述,在选择教材时,可通过是否使用了UML简单判断是否包含了面向对象设计内容。 读者对象 本书适合作为全国高等院校计算机及相关专业的程序设计课程的教材,也可供从事软件开发的专业人员自学使用。 本书的编写参考了诸多相关资料,在此表示衷心的感谢。限于个人水平和时间仓促,书中难免存在疏漏之处,欢迎读者批评指正。 作 者 2022年1月

more > 课件下载 样章下载 暂无网络资源 扫描二维码 下载APP了解更多

版权图片链接



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有